package com.spic.business.train.questions.domain;

import com.spic.common.core.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;

/**
 * 试题答案项  判断题选项共用，题库ID为000 A 为 对，B为错对象 train_questions_options
 *
 * @author renxiang
 * @date 2021-10-20
 */
public class TrainQuestionsOptions implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** id */
    private String id;

    /** 题库id */
    @Excel(name = "题库id")
    private String questionId;

    /** 选项标志（A、B.....） */
    @Excel(name = "选项标志", readConverterExp = "A=、B.....")
    private String optionsKey;

    /** 选项值(填空题有近视正确答案用 | 分隔， 禁用其他字符) */
    @Excel(name = "选项值(填空题有近视正确答案用 | 分隔， 禁用其他字符)")
    private String optionsValue;

    /** 选项对应得分比例（主要用于填空题 和多选不全对的情况） */
    @Excel(name = "选项对应得分比例", readConverterExp = "主=要用于填空题,和=多选不全对的情况")
    private Double scoreProportion;

    //是否有效 0有效 1 无效
    private String state;

    public String getState()
    {
        return state;
    }

    public void setState(String state)
    {
        this.state = state;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setQuestionId(String questionId)
    {
        this.questionId = questionId;
    }

    public String getQuestionId()
    {
        return questionId;
    }
    public void setOptionsKey(String optionsKey)
    {
        this.optionsKey = optionsKey;
    }

    public String getOptionsKey()
    {
        return optionsKey;
    }
    public void setOptionsValue(String optionsValue)
    {
        this.optionsValue = optionsValue;
    }

    public String getOptionsValue()
    {
        return optionsValue;
    }
    public void setScoreProportion(Double scoreProportion)
    {
        this.scoreProportion = scoreProportion;
    }

    public Double getScoreProportion()
    {
        return scoreProportion;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("questionId", getQuestionId())
            .append("optionsKey", getOptionsKey())
            .append("optionsValue", getOptionsValue())
            .append("scoreProportion", getScoreProportion())
            .toString();
    }
}
